EPICS Lab Part 2: Channel Access Clients
For all of the following exercises, your IOC must be running. (See the "Boot IOC" box on the IOC Development Workflow sheet.)
With your IOC running in your SecureCRT window, open a second SecureCRT window and connect to lcls-dev2.  After you connect to lcls-dev2, type bash and then change directory to ioctop.  Do the following exercises in this new SecureCRT window.
Command line utilities: caget, caput, camonitor
To check the value of a record,
$ caget usernameHost:xxxExample
Note that this gives the same result as
$ caget usernameHost:xxxExample.VAL
To change the value of the record:
$ caput usernameHost:xxxExample 15
To monitor a record, 
$ camonitor usernameHost:xxxExample.  
Type ctrl-c to exit camonitor.
A more interesting record to monitor is usernameHost:aiExample1.
Now use caget, caput, and camonitor to look at other fields of these records.  For example, to see the engineering units of a record:
$ caget usernameHost:xxxExample.EGU
Look at some other fields of your records.  Some interesting fields are:
	DESC (description)
	EGU (engineering units)
	LOLO, LOW, HIGH, HIHI (alarm thresholds)
	LLSV, LSV, HSV, HHSV (alarm severities associated with those thresholds)
	LOPR, HOPR (low and high operating limits)
	Refer to the Database 1 slides from Tuesday for information about other fields.
Probe
Launch Probe from the command line:
$ probe
In the window, type the PV name usernameHost:xxxExample and press enter.
Use the Adjust button to change the value of the record.
Click the Info button to see various fields of the record.
Click Start and Stop to start and stop monitoring the record.
Do the same for the record usernameHost:aiExample.
Press Quit to quit Probe.

StripTool
Launch StripTool from the command line:
$ StripTool
In the Plot New Signal: dialog, type the PV name usernameHost:aiExample
Right-click on the graph and select Controls Dialog...
Add another PV to your plot: usernameHost:xxxExample.
In the Curves tab, you can add additional PVs to your plot, change the min and max scale for each PV (by default they are LOPR and HOPR), or change the color of the traces.
In the Controls tab, you can change the buffer size, sample interval, redraw interval, and properties of the graph such as background color and gridline spacing.
Optional: After you have set up your signals in StripTool, you can save the StripTool configuration in the File/Save As... dialog.
Quit StripTool.

EDM
Create a directory in your IOC project folder for display files:
$ cd ioctop
$ mkdir edm
Go to your display file directory and launch edm:
$ cd edm
$ edm -m user=$USER &

EDM Exercise 1: Editing
From the edm main window, create a new display using File/New.
Save the empty display with filename example1 in your edm folder:
	Middle-button menu/Save As... 
(From now on, save every once in a while just in case…)
Turn on the grid and snap-to-grid options:
	Middle-button menu/Display Properties: snap-to-grid, show grid.
Create:
Two labels “Calc Example” and “XXX Example":
Left-button-rubberband the approximate area. Select Graphics/Static Text. Enter “Calc Example” as the text. Select a font such as helvetica 18. Press OK.
Repeat for “XXX Example”.
Two Monitor/Textupdate objects. For PV names use “$(user)Host:calcExample” and “$(user)Host:xxxExample”.
One Control/Textentry object.  For PV name use "$(user)Host:xxxExample".
Two Graphics/Rectangles, make them “filled” and change the fill color to light blue.
Note: To change the stacking order, select objects, then use the middle-button menu to raise or lower them.
Use Select, move, resize, align, … to make the display look how you want it to look.
These may help you to finish quicker:
Middle-button menu/Copy/paste
Switch to “execute” mode: de-select all objects, click the middle mouse button, and choose execute from the menu.
Change the value of XXX Example PV.  Notice how the alarm color changes for different values from 0 to 10.
To switch back to "edit" mode: click the middle mouse button and choose edit from the menu.
Save your work: click the middle mouse button and choose save from the menu.
EDM Exercise 2: More Editing
Create a new display, save it as example2.
Use Graphics objects (circles, text and lines) to create a simple diagram or schematic.
For help: 
	Middle-button menu/Help/Objects 
	Middle-button menu/Help/Line Objects 
Select several objects at once, change color or font or via the “Edit/Display Properties” option.

EDM Exercise 3: PVs
We will see how different PVs can be represented in different ways.
Execute edm as before and open example1. Save the display file as “example3”.
In your display there is a text update for the record “$(user)Host:calcExample”.
Add a Monitor/Meter that uses the same PV. Set the Bg Color = light gray, Label Intervals = 5, Majors per Label = 2. – execute.
Add a text entry control to the .CALC field of the record:
Create a Control/Textentry, set “$(user)Host:calcExample.CALC”as the PV name.
Add a Control/Menu Button to the .SCAN field of the same record (e.g. PV name “$(user)Host:calcExample.SCAN”) - execute.
Change the SCAN field and see what happens.
Change the calculation from (A<B)?(A+C):D to (A<B-1)?(A+C):D and see what happens.
Optional: Usually calculations are done in the database using CALC records, but EDM itself can also be used to do calculations.  To try this out, add a text update and enter the following as the PV name: “CALC\sum($(user)Host:calcExample, 2)” - execute.

EDM Tips
EDM makes use of all three mouse buttons.  This makes it tricky to use at first.  Here are some tips:
•	Left-click selects an existing widget.
•	Left-double-click opens the properties window for an existing widget.  
•	Left-drag adds a widget to your display.  Left-drag the mouse ("left-rubber-band") to make a rectangle that is the size of the widget you want to create.  When you let go of the mouse button, a menu pops up and you can select the type of widget you want to add.
•	Middle-click on a blank area of the window opens a menu that allows you to save your file, switch between edit mode and execute mode, and paste a copied widget.
•	Middle-click on a selected widget allows you to copy, paste, raise, lower, and rotate the widget.
•	Middle-drag a region selects multiple widgets.
EDM has good online help.  To open it, middle-click an empty area of your display and select Help.  In the window that pops up, click Objects or Line Objects.